/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package adsreis.com.Controls;

import adsreis.com.Beans.EntradasdetBean;
import adsreis.com.acessobd.AcessoMySql;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Pauroenriki
 */
public class EntradasdetControl {
    PreparedStatement pstm;
    ResultSet rs;
    String cadastraItem = "INSERT INTO ENTRADASDET(IDENTRADA,IDMATERIAL, QTDENTRADA) VALUES(?,?,?)";
    String buscaUltimoCodigo = "SELECT MAX(CODENTRADA) AS CODENTRADA FROM ENTRADASDET";
    String deleta = "DELETE FROM ENTRADASDET WHERE IDENTRADA = ?";
    String consultaItens = "SELECT ENTRADASDET.IDENTRADA, ENTRADASDET.IDMATERIAL, MATERIAIS.DESCRICAO, MATERIAIS.VLRCUSTO, ENTRADASDET.QTDENTRADA FROM ENTRADASDET, MATERIAIS WHERE ENTRADASDET.IDENTRADA LIKE ? AND ENTRADASDET.IDMATERIAL = MATERIAIS.CODMATERIAL";

    public EntradasdetControl(){
        
    }
    
    public void excluirEntradasDET(int identrada){
        try{
            AcessoMySql mysql = new AcessoMySql();
           pstm = mysql.conectar().prepareStatement(deleta); 
           pstm.setInt(1, identrada);
           pstm.executeUpdate();
           mysql.desconectar();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
    
     public int buscarCodigoUltimaEntrada(){
        try{
            AcessoMySql mysql = new AcessoMySql();
            pstm = mysql.conectar().prepareStatement(buscaUltimoCodigo);
            rs = pstm.executeQuery();
            if (rs.last()){
                return rs.getInt("codentrada");                
            }
            mysql.desconectar();
        }catch (SQLException ex){
            ex.printStackTrace();
        }
        return 0;
    }
    
    public void cadastrarItem(EntradasdetBean entradasdet){
        try{
            AcessoMySql mysql = new AcessoMySql();
            pstm = mysql.conectar().prepareStatement(cadastraItem);
            pstm.setInt(1, entradasdet.getIdentrada());
            pstm.setInt(2, entradasdet.getIDMaterial());            
            pstm.setFloat(3, entradasdet.getQtdEntrada());
            pstm.executeUpdate();
            mysql.desconectar();
        }catch(SQLException ex){
            ex.printStackTrace();
        }
    }
    
    public List<EntradasdetBean> listarItens(Integer identrada){
      try {
      AcessoMySql mysql = new AcessoMySql();
      pstm = mysql.conectar().prepareStatement(consultaItens);
      
      pstm.setInt(1, identrada);
      
      rs = pstm.executeQuery();
      List<EntradasdetBean> entrada = new ArrayList<>();
      while (rs.next()){
      EntradasdetBean ob = new EntradasdetBean();
      ob.setIdentrada(rs.getInt("entradasdet.identrada"));
      ob.setIDMaterial(rs.getInt("entradasdet.idmaterial"));
      ob.setDescricaoproduto(rs.getString("produtos.descricao"));
      //ob.setMarca(rs.getString("produtos.marca"));
      ob.setPreco(rs.getDouble("produtos.vlrcusto"));
      ob.setQtdEntrada(rs.getFloat("entradasdet.qtdentrada"));
      entrada.add(ob);
      }
      mysql.desconectar();
      return entrada;
      } catch (SQLException ex) {
      ex.printStackTrace();
      }
      return null;
      }
    
    
}

